-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pyproject.toml #11
pyproject.toml #11
Conversation
Other changes: - Remove optional test dependencies in favor of hatch environments - Remove optional dependencies already defined by pre-commit - Remove bumpversion and twine in favor of hatch - Set dynamic __version__ handled by hatch - Update CI to use hatch - Add Aaron Zuspan as second author - Update developer guide
If we think of this package as just the extended estimators for now, any bottlenecks would likely be in fitting and not in prediction. For the "complicated" estimators (e.g. The only unknown for me at this point is I played around with |
The only change I'd probably make is to add my name rather than "LEMMA group @ Oregon State University". That will be obvious in the repo name already. Also, I noticed the switch back to |
Thanks for the thoughts on performance! That was my hope, that the existing optimizations in
Good point, will do!
Yes. I guess this is technically contrary to the PEP 396 recommendation we discussed before that recommended against a
Yeah, I think you're right that this is the standard approach. My first thought was that less files is better and we could avoid importing |
All looks great to me, @aazuspan. I made a particular valuable edit from "Matthew" to "Matt". I think the side benefit is that the pre-commit with the new sourcery key didn't cause any issues. |
Hey @aazuspan, just test-driving using hatch for setting up the development environment (sorry that I hadn't done this previously). Here were my steps:
I'm sure it's a silly error, but not sure what I'm doing incorrectly and guessing users might hit up against the same issues?
So, somehow hatch isn't registering |
Apparently I hadn't tried this either, because I get the same error. Good catch! I did find that changing EDIT: I'm stumped, so I opened pypa/hatch#845 |
See pypa/hatch#845. This was necessary because our project name is different from our package name, so hatch wasn't able to locate it in the default path. Note that if the shell has been built before making this change, it will need to be manually rebuilt by running `hatch env prune`.
We have a solution courtesy of the You will probably have to remove the environment for the change to take effect, which you should be able to do with EDIT: Back to the question of performance, if we hit bottlenecks we could look into mypyc which converts typed Python to C extensions and has a hatch plugin. I've never used it before, but it sounds like it should be a lot easier than having to manually write C or Cython... |
Awesome find, @aazuspan. Just checked and it works for me after pruning my environment! Wow, Even though I'm likely 25% of understanding everything |
Great, glad you caught this before we merged! Very exciting to have Consider it merged! |
Excellent, thx! Quick question regarding VSCode. When you're using |
Yeah, I think pointing to the |
This would close #9 by swapping
setup.py
forpyproject.toml
andsetuptools
forhatch
.@grovduck I went ahead and set this up using hatch just to give you an idea how it would work, but I'd like to get your thoughts on that. In particular, from a build perspective, there's a question of whether current lack of support for Cython in
hatch
is a deal-breaker. I would lean towards no, but you obviously have a lot more experience with the performance considerations here, so I'd defer to you.The other consideration is whether to use
hatch
for environment management. I set this up with that in mind (ie removing the optional dependencies in favor of using hatch environments), and I think there are some strong benefits to making sure developers and CI are all testing with identical environments, but if it doesn't work with your workflow then we should obviously reconsider. We could still usehatch
for building, versioning, and publishing, but go back to usingpip install -e .[dev]
and leaving it up to developers to set up their environments.